package com.caiheng.api.service.estate;

import com.caiheng.api.entity.estate.EstateRoom;
import com.caiheng.api.entity.dto.EstateRoomDto;
import com.caiheng.api.entity.wxuser.User;
import com.caiheng.api.service.base.BaseService;

import java.util.List;

/**
 * 小区内的房屋列信息Service接口
 *
 * @author ruoyi
 * @date 2022-06-28
 */
public interface EstateRoomService extends BaseService<EstateRoom> {

    /**
     *  根据手机号,所在小区 绑定业主房屋信息
     * @param phoneNum
     * @return
     */
    int bandRoomByPhoneNum(int userId, int estateId, String phoneNum, User user);

    /**
     *  获取当前未绑定的房间数
     * @param userId
     * @param estateId
     * @return
     */
    long getUnBandRoom(int userId,int estateId, String phone_num);

    /**
     *  根据手机号,所在小区 绑定业主房屋信息
     * @param roomId
     * @return
     */
    int bandRoomByNoPhone(int userId, int estateId, int roomId);

    /**
     *  获取我绑定的房屋的数量
     * @param userId
     * @return
     */
    long myRoomCountByEstateId(int userId, int estateId);

    /**
     *  根据用户id  获取当前用户的 所有绑定小区的房屋列表
     * @param userId
     * @return
     */
    List<EstateRoom> getRoomListByUserId(int userId, String keyword);

    /**
     *  获取当前小区下的所有房屋的 列表，多级联动数据格式
     * @param estateId
     * @return
     */
    List<EstateRoomDto> getEstateRoomList(int estateId);

    /**
     *  获取我绑定的该户信息
     * @param userId
     * @param estateId
     * @param roomId
     * @return
     */
    EstateRoom getMyRoomByRoomId(int userId,int estateId,int roomId);
}
